﻿using System;
namespace Molic.Core.Controls.interfaces
{
    /// <summary>
    /// Molic Canvas interface that is implemented by every canvas used in the system that wants
    /// to use services that needs in some way of the canvas.
    /// </summary>
    public interface IMolicCanvas : IMolicCanvasActionHandler
    {
        System.Windows.Controls.UIElementCollection Children { get; }
        void Copy_Enabled(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e);
        void Copy_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Cut_Enabled(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e);
        void Cut_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Delete_Enabled(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e);
        void Delete_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void New_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Open_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Paste_Enabled(object sender, System.Windows.Input.CanExecuteRoutedEventArgs e);
        void Paste_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Print_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
        void Save_Executed(object sender, System.Windows.Input.ExecutedRoutedEventArgs e);
    }
}
